package tt.com.cremationmanager.service;

import com.baomidou.mybatisplus.extension.service.IService;
import tt.com.common.model.Cremate;
import tt.com.common.model.Dead;
import tt.com.common.model.TombDeposit;
import tt.com.common.util.CommonResult;
import tt.com.common.util.PageUtil;

import javax.servlet.http.HttpServletResponse;

public interface CrematesService extends IService<Cremate> {

    /**
     * 展示火化业务信息列表
     * @param i (0表示展示未火化信息列表，1表示展示已火化信息列表)
     * @param pageUtil
     * @return
     */
    public CommonResult showCremateMessage(String i, PageUtil pageUtil);

    /**
     * 查找火化业务信息
     * @param cremate
     * @return
     */
    public CommonResult selectCremateMessage(Cremate cremate, PageUtil pageUtil);

    /**
     * 修改火化业务信息
     * @param cremate
     * @return
     */
    public CommonResult updateCremateMessage(Cremate cremate);

    /**
     * 新增火化业务信息
     * @param cremate
     * @return
     */
    public CommonResult insertCremateMessage(Cremate cremate);

    /**
     * 伪删除火化业务信息
     * @param cremate
     * @return
     */
    public CommonResult deleteCremateMessage(Cremate cremate);

    /**
     * 刷新火化业务信息列表
     * @return
     */
    public CommonResult refreshCremateMessage(PageUtil pageUtil);

    /**
     * 查询所有空闲火化炉
     * @return
     */
    public CommonResult selectFreeCreateStove();

    /**
     * 火化开始
     * @param cremate
     * @return
     */
    public CommonResult startCreate(Cremate cremate);

    /**
     * 火化结束
     * @param cremate
     * @return
     */
    public CommonResult stopCreate(Cremate cremate);

    /**
     * 设定骨灰收敛时间
     * @return
     */
    public CommonResult convergenceBone(Cremate cremate);


    /**
     * 打印服务收款收据
     * @param i
     * @return
     */
    public CommonResult serviceReceipt(HttpServletResponse response, int i);

}
